import {
	get,
	post
} from '@/utils/request'

export default {
	/**
	 * 获取我的红包列表
	 * @param {Object} params 查询参数
	 * @returns {Promise} 红包列表
	 */
	getRedPacketList(params = {}) {
		return get('/redpacket/list', params)
	},

	/**
	 * 红包膨胀
	 * @param {Object} data 膨胀参数 {id: 红包ID}
	 * @returns {Promise} 膨胀后的红包信息
	 */
	expandRedPacket(data) {
		return post('/redpacket/expand', data)
	},

	/**
	 * 检查今日是否已爆红包
	 * @returns {Promise} 检查结果 {hasReceived: 是否已领取, packet: 红包信息}
	 */
	checkTodayRedPacket() {
		return get('/redpacket/checkToday')
	},

	/**
	 * 爆红包
	 * @returns {Promise} 爆出的红包信息
	 */
	explodeRedPacket() {
		return post('/redpacket/explode')
	},

	/**
	 * 获取今日红包历史记录
	 * @returns {Promise} 今日红包记录列表
	 */
	getTodayRedPacketHistory() {
		return get('/redpacket/todayHistory')
	},

	/**
	 * 使用红包
	 * @param {Number} packetId 红包ID
	 * @param {Number} orderId 订单ID
	 * @returns {Promise} 使用结果
	 */
	useRedPacket(packetId, orderId) {
		return post('/redpacket/use', {
			packetId,
			orderId
		})
	},

	/**
	 * 获取可用红包列表(用于订单页)
	 * @param {Number} amount 订单金额
	 * @returns {Promise} 可用红包列表
	 */
	getAvailableRedPackets(amount) {
		return get('/redpacket/available', {
			amount
		})
	}
}